<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Perl Data Language</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Perl_Data_Language"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Perl_Data_Language rootpage-Perl_Data_Language skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Perl Data Language</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */
.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}
/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above" style="background-color:#e0e0e0;">Perl Data Language (PDL)</th></tr><tr><th scope="row" class="infobox-label"><a href="Programming_paradigm" title="Programming paradigm">Paradigm</a></th><td class="infobox-data"><a href="Array_programming" title="Array programming">Array</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_developer" class="mw-redirect" title="Software developer">Developer</a></th><td class="infobox-data organiser"><a href="Karl_Glazebrook" title="Karl Glazebrook">Karl Glazebrook</a>, Jarle Brinchmann, Tuomas Lukka, and Christian Soeller</td></tr><tr><th scope="row" class="infobox-label">First appeared</th><td class="infobox-data">1996<span style="display: none;"> (<span class="bday dtstart published updated itvstart">1996</span>)</span></td></tr><tr><td colspan="2" class="infobox-full-data"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">2.098<sup id="cite_ref-wikidata-6f0a51bd385056f3d358220c288caa6ca6cf0127-v20_1-0" class="reference"><a href="#cite_note-wikidata-6f0a51bd385056f3d358220c288caa6ca6cf0127-v20-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
/ 3 January 2025<span style="display:none"> (<span class="bday dtstart published updated">3 January 2025</span>)</span></div></td></tr><tr style="display:none"><td colspan="2">
</td></tr><tr><th scope="row" class="infobox-label"><a href="Operating_system" title="Operating system">OS</a></th><td class="infobox-data"><a href="Cross-platform" class="mw-redirect" title="Cross-platform">Cross-platform</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="GNU_General_Public_License" title="GNU General Public License">GNU General Public License</a>, <a href="Artistic_License" title="Artistic License">Artistic License</a></td></tr><tr><th scope="row" class="infobox-label">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="https://pdl.perl.org/">pdl<wbr>.perl<wbr>.org</a></span></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced by</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="APL_(programming_language)" title="APL (programming language)">APL</a>, <a href="IDL_(programming_language)" title="IDL (programming language)">IDL</a>, <a href="Perl" title="Perl">Perl</a></td></tr></tbody></table>
<p><b>Perl Data Language</b> (abbreviated <b>PDL</b>) is a set of <a href="Free_software" title="Free software">free software</a> array programming extensions to the <a href="Perl" title="Perl">Perl programming language</a>. PDL extends the data structures built into Perl, to include large <a href="Array_data_structure" class="mw-redirect" title="Array data structure">multidimensional arrays</a>, and adds functionality to manipulate those arrays as vector objects. It also provides tools for <a href="Image_processing" class="mw-redirect" title="Image processing">image processing</a>, <a href="Machine_learning" title="Machine learning">machine learning</a>, <a href="Computer_model" class="mw-redirect" title="Computer model">computer modeling</a> of physical systems, and graphical plotting and presentation. Simple operations are automatically vectorized across complete arrays, and higher-dimensional operations (such as matrix multiplication) are supported.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Language_design">Language design</h2></div>
<p>PDL is a vectorized <a href="Array_programming" title="Array programming">array programming</a> language: the expression syntax is a variation on standard mathematical <a href="Vector_(geometric)" class="mw-redirect" title="Vector (geometric)">vector</a> notation, so that the user can combine and operate on large arrays with simple expressions. In this respect, PDL follows in the footsteps of the <a href="APL_programming_language" class="mw-redirect" title="APL programming language">APL programming language</a>, and it has been compared to commercial languages such as <a href="MATLAB" title="MATLAB">MATLAB</a> and <a href="Interactive_Data_Language" class="mw-redirect" title="Interactive Data Language">Interactive Data Language</a>, and to other free languages such as <a href="NumPy" title="NumPy">NumPy</a> and <a href="GNU_Octave#Octave.2C_the_language" title="GNU Octave">Octave</a>.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Unlike MATLAB and IDL, PDL allows great flexibility in indexing and vectorization: for example, if a subroutine normally operates on a 2-D <a href="Matrix_(mathematics)" title="Matrix (mathematics)">matrix</a> array, passing it a 3-D <a href="Data_cube" title="Data cube">data cube</a> will generally cause the same operation to happen to each 2-D layer of the cube.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>PDL borrows from Perl at least three basic types of program structure: <a href="Imperative_programming" title="Imperative programming">imperative programming</a>, <a href="Functional_programming" title="Functional programming">functional programming</a>, and <a href="Pipeline_programming" class="mw-redirect" title="Pipeline programming">pipeline programming</a> forms may be combined. Subroutines may be loaded either via a built-in <a href="Autoload" title="Autoload">autoload</a> mechanism or via the usual Perl module mechanism.
</p>
<div class="mw-heading mw-heading2"><h2 id="Graphics">Graphics</h2></div>
<p>True to the <a href="Glue_language" class="mw-redirect" title="Glue language">glue language</a> roots of Perl, PDL borrows from several different modules for graphics and plotting support. <a href="NetPBM" class="mw-redirect" title="NetPBM">NetPBM</a> provides image file I/O (though FITS is supported natively). <a href="Gnuplot" title="Gnuplot">Gnuplot</a>, <a href="PLplot" title="PLplot">PLplot</a>, <a href="PGPLOT" title="PGPLOT">PGPLOT</a>, and Prima modules are supported for 2-D graphics and plotting applications, and <a href="Gnuplot" title="Gnuplot">Gnuplot</a> and <a href="OpenGL" title="OpenGL">OpenGL</a> are supported for 3-D plotting and rendering.
</p>
<div class="mw-heading mw-heading2"><h2 id="I/O">I/O</h2></div>
<p>PDL provides facilities to read and write many open data formats, including <a href="JPEG" title="JPEG">JPEG</a>, <a href="Portable_Network_Graphics" class="mw-redirect" title="Portable Network Graphics">PNG</a>, <a href="GIF" title="GIF">GIF</a>, <a href="Portable_pixmap" class="mw-redirect" title="Portable pixmap">PPM</a>, <a href="MPEG" class="mw-redirect" title="MPEG">MPEG</a>, <a href="FITS" title="FITS">FITS</a>, <a href="NetCDF" title="NetCDF">NetCDF</a>, <a href="GRIB" title="GRIB">GRIB</a>, raw binary files, and delimited ASCII tables. PDL programmers can use the <a href="CPAN" title="CPAN">CPAN</a> Perl I/O libraries to read and write data in hundreds of standard and niche file formats.
</p>
<div class="mw-heading mw-heading2"><h2 id="Machine_learning">Machine learning</h2></div>
<p>PDL can be used for <a href="Machine_learning" title="Machine learning">machine learning</a>. It includes modules that are used to perform classic <a href="K-means_clustering" title="K-means clustering">k-means clustering</a> or general and generalized linear modeling methods such as ANOVA, linear regression, PCA, and logistic regression. Examples of PDL usage for regression modelling tasks include evaluating association between education attainment and ancestry differences of parents,<sup id="cite_ref-pmid25734509_4-0" class="reference"><a href="#cite_note-pmid25734509-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> comparison of RNA-protein interaction profiles that needs regression-based normalization<sup id="cite_ref-pmid24398258_5-0" class="reference"><a href="#cite_note-pmid24398258-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> and analysis of spectra of galaxies.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="perldl">perldl</h2></div>
<p>An installation of PDL usually comes with an interactive <a href="Shell_(computing)" title="Shell (computing)">shell</a> known as <b>perldl</b>, which can be used to perform simple calculations without requiring the user to create a Perl program file. A typical session of perldl would look something like the following:
</p>
<div class="mw-highlight mw-highlight-lang-perl mw-content-ltr" dir="ltr"><pre><span class="n">perldl</span><span class="o">></span><span class="w"> </span><span class="nv">$x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pdl</span><span class="w"> </span><span class="p">[[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">],</span><span class="w"> </span><span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">]];</span>
<span class="n">perldl</span><span class="o">></span><span class="w"> </span><span class="nv">$y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">pdl</span><span class="w"> </span><span class="p">[[</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">],[</span><span class="mi">8</span><span class="p">,</span><span class="w"> </span><span class="mi">9</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">]];</span>
<span class="n">perldl</span><span class="o">></span><span class="w"> </span><span class="nv">$z</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">$x</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="nv">$y</span><span class="p">;</span>
<span class="n">perldl</span><span class="o">></span><span class="w"> </span><span class="n">p</span><span class="w"> </span><span class="nv">$z</span><span class="p">;</span>
<span class="p">[</span>
<span class="w"> </span><span class="p">[</span><span class="mi">21</span><span class="w"> </span><span class="mi">24</span><span class="w"> </span><span class="mi">7</span><span class="p">]</span>
<span class="w"> </span><span class="p">[</span><span class="mi">47</span><span class="w"> </span><span class="mi">54</span><span class="w"> </span><span class="mi">21</span><span class="p">]</span>
<span class="p">]</span>
</pre></div>
<p>The commands used in the shell are Perl statements that can be used in a program with <code>PDL</code> module included. <b><code>x</code></b> is an <a href="Overloaded_operator" class="mw-redirect" title="Overloaded operator">overloaded operator</a> for <a href="Matrix_multiplication" title="Matrix multiplication">matrix multiplication</a>, and <b><code>p</code></b> in the last command is a shortcut for <b><code>print</code></b>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Implementation">Implementation</h2></div>
<p>The core of PDL is written in <a href="C_(programming_language)" title="C (programming language)">C</a>. Most of the functionality is written in <b>PP</b>, a PDL-specific metalanguage that handles the vectorization of simple C snippets and interfaces them with the Perl host language via Perl's <a href="XS_(Perl)" title="XS (Perl)">XS</a> compiler. Some modules are written in <a href="Fortran" title="Fortran">Fortran</a>, with a C/PP interface layer. Many of the supplied functions are written in PDL itself. PP is available to the user to write C-language extensions to PDL. There is also an Inline module (Inline::Pdlpp) that allows PP function definitions to be inserted directly into a Perl script; the relevant code is low-level compiled and made available as a Perl subroutine.
</p><p>The PDL API uses the basic Perl 5 object-oriented functionality: PDL defines a new type of Perl scalar object (<a href="Eponym" title="Eponym">eponymously</a> called a "PDL", or "ndarray") that acts as a Perl scalar, but that contains a conventional <a href="Data_type" title="Data type">typed</a> <a href="Array_data_type" class="mw-redirect" title="Array data type">array</a> of numeric or character values. All of the standard Perl operators are overloaded so that they can be used on PDL objects transparently, and PDLs can be mixed-and-matched with normal Perl scalars. Several hundred object methods for operating on PDLs are supplied by the core modules.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1266661725">
/* start https://en.wikipedia.org/ */
.mw-parser-output .portalbox{padding:0;margin:0.5em 0;display:table;box-sizing:border-box;max-width:175px;list-style:none}.mw-parser-output .portalborder{border:1px solid var(--border-color-base,#a2a9b1);padding:0.1em;background:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .portalbox-entry{display:table-row;font-size:85%;line-height:110%;height:1.9em;font-style:italic;font-weight:bold}.mw-parser-output .portalbox-image{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portalbox-link{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}@media(min-width:720px){.mw-parser-output .portalleft{margin:0.5em 1em 0.5em 0}.mw-parser-output .portalright{clear:right;float:right;margin:0.5em 0 0.5em 1em}}
/* end https://en.wikipedia.org/ */
</style>
<ul><li><a href="Comparison_of_numerical-analysis_software" title="Comparison of numerical-analysis software">Comparison of numerical-analysis software</a></li>
<li><a href="List_of_numerical-analysis_software" title="List of numerical-analysis software">List of numerical-analysis software</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-wikidata-6f0a51bd385056f3d358220c288caa6ca6cf0127-v20-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-wikidata-6f0a51bd385056f3d358220c288caa6ca6cf0127-v20_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"> <a rel="nofollow" class="external text" href="https://github.com/PDLPorters/pdl/releases/tag/2.098">https://github.com/PDLPorters/pdl/releases/tag/2.098</a>.</cite> <span class="cs1-visible-error citation-comment"><code class="cs1-code">{{cite web}}</code>: </span><span class="cs1-visible-error citation-comment">Missing or empty <code class="cs1-code">|title=</code> (help)</span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://blogs.perl.org/users/lhermida/2011/03/hi-everyone-as-a-bioinformatician.html">"Putting Perl Back on Top in the Fields of Scientific and Financial Computing"</a>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://pdl.perl.org/?docs=Threading&title=PDL::Threading">"PDL online documentation (PDL::Threading section)"</a>.</cite></span>
</li>
<li id="cite_note-pmid25734509-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-pmid25734509_4-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFAbdellaouiHottengaWillemsenBartels2015" class="citation journal cs1">Abdellaoui A, Hottenga JJ, Willemsen G, Bartels M, van Beijsterveldt T, Ehli EA, Davies GE, Brooks A, Sullivan PF, Penninx BW, de Geus EJ, Boomsma DI (Mar 2015). <a rel="nofollow" class="external text" href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4347978">"Educational Attainment Influences Levels of Homozygosity through Migration and Assortative Mating"</a>. <i>PLOS ONE</i>. <b>10</b> (3): e0118935. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2015PLoSO..1018935A">2015PLoSO..1018935A</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1371%2Fjournal.pone.0118935">10.1371/journal.pone.0118935</a></span>. <a href="PMC_(identifier)" class="mw-redirect" title="PMC (identifier)">PMC</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4347978">4347978</a></span>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a> <a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/25734509">25734509</a>.</cite></span>
</li>
<li id="cite_note-pmid24398258-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-pmid24398258_5-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFWangXieXiao2014" class="citation journal cs1">Wang T, Xie Y, Xiao G (Jan 2014). <a rel="nofollow" class="external text" href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4054096">"dCLIP: a computational approach for comparative CLIP-seq analyses"</a>. <i>Genome Biology</i>. <b>15</b> (1): R11. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1186%2Fgb-2014-15-1-r11">10.1186/gb-2014-15-1-r11</a></span>. <a href="PMC_(identifier)" class="mw-redirect" title="PMC (identifier)">PMC</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4054096">4054096</a></span>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a> <a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/24398258">24398258</a>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFSánchezPérezSánchez-BlázquezGonzález2016" class="citation journal cs1">Sánchez SF, Pérez E, Sánchez-Blázquez P, González JJ, Rosález-Ortega FF, Cano-Dí az M, López-Cobá C, Marino RA, Gil de Paz A, Mollá M, López-Sánchez AR, Ascasibar Y, Barrera-Ballesteros J (April 2016). "Pipe3D, a pipeline to analyze Integral Field Spectroscopy Data: I. New fitting philosophy of FIT3D". <i>Revista Mexicana de Astronomía y Astrofísica</i>. <b>52</b>: <span class="nowrap">21–</span>53. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1509.08552">1509.08552</a></span>. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2016RMxAA..52...21S">2016RMxAA..52...21S</a>.</cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="http://pdl.perl.org/">Official website</a></span></span></li>
<li><a rel="nofollow" class="external text" href="http://www.perlmonks.org/?node_id=587436">PDL Quick Reference</a> PDL Intro & resources</li>
<li><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=rf1yfZ2yUFo">Tutorial lecture on PDL</a></li>
<li><a rel="nofollow" class="external text" href="https://sourceforge.net/projects/pdl/files/PDL_2013/PDL-Book/PDL-Book-20130322.pdf/download">Draft release of the PDL Book for PDL-2.006</a></li>
<li><a rel="nofollow" class="external text" href="http://adsabs.harvard.edu/abs/2004SoPh..219....3D">Example of PDL usage in the scientific literature</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2023-12-03" href="https://en.wikipedia.org/wiki/?title=Perl_Data_Language&oldid=1188089119">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>